Functions > PIC2List Functions > PIC2List IPTCDataSet Packet Functions |
The P2PktIPTCDataSet structure is defined as:
Copy Code | |
---|---|
typedef struct {
BYTE Type;
DWORD Length;
BYTE Record;
BYTE DataSet;
DWORD DataSetType;
DWORD DataSetLength;
BYTE DataField[1];
} P2PktIPTCDataSet; |
Name | Description |
Type |
Set to P2P_IPTCDataSet to indicate that this packet contains an IPTC DataSet |
Length |
The total length of this packet in bytes |
Record |
The IPTC Record number for this DataSet (1..9) |
DataSet |
The IPTC DataSet number for this DataSet |
DataSetType |
IPTC_UNDEFINED, IPTC_BYTE, IPTC_ASCII, IPTC_INTEGER, IPTC_3_10_Struct, IPTC_3_110_Struct |
DataSetLength |
The Length, in bytes, of the following DataField field |
DataField |
The DataSet's DataField |
Copy Code | |
---|---|
P2PktIPTCDataSet* P2LAddIPTCDataSet( P2LIST* p2l, BYTE rec, BYTE set, DWORD type, DWORD length, Const BYTE* data ) |
P2LAddIPTCDataSet adds an IPTC DataSet packet of the specified characteristics, enlarging the PIC2List if necessary. If the type is IPTC_UNDEFINED then it will be set according to the standard. If data is a null pointer, then the DataField field in the IPTC DataSet is set to 0. P2LAddIPTCDataSet will return a 0 if a memory allocation error occurs while attempting to enlarge the PIC2List.
Copy Code | |
---|---|
BOOL P2LDeleteIPTCDataSet(P2LIST* p2l, P2PktIPTCDataSet* pkt) |
P2LDeleteIPTCDataSet is called to delete an IPTC DataSet packet from the PIC2List. Pkt must point to the Type field of an IPTCDataSet packet within the PIC2List. No validation is performed.
Copy Code | |
---|---|
P2PktIPTCDataSet* P2LFindIPTCDataSet(const P2LIST* p2l, BYTE rec, BYTE set); |
P2LFindIPTCDataSet finds the first IPTC DataSet packet in the list with Record equal to rec and DataSet equal to set. P2LFindIPTCDataSet will return a 0 if there is no matching IPTC DataSet packet in the PIC2List.
Copy Code | |
---|---|
P2PktIPTCDataSet* P2LFirstIPTCDataSet(const P2LIST* p2l); |
P2LFirstIPTCDataSet will return a pointer to the first IPTC DataSet packet of any type. P2LFirstIPTCDataSet will return a 0 if there are no IPTC DataSet packets in the PIC2List.
Copy Code | |
---|---|
P2PktIPTCDataSet* P2LModifyIPTCDataSet(const P2LIST* p2l, constP2PktIPTCDataSet* pkt, BYTE rec, BYTE set, DWORD type, DWORD length, constBYTE* data); |
P2LModifyIPTCDataSet modifies the IPTC DataSet pointed to by pkt, enlarging the PIC2List if necessary. Pkt must point to the Type field of an IPTCDataSet packet within the PIC2List. If the type is IPTC_UNDEFINED then it will be set according to the standard. If data is 0, then the DataField field in the IPTC DataSet packet is uninitialized. P2LModifyIPTCDataSet will return a 0 if pkt is not in the PIC2List. P2LModifyIPTCDataSet will return a 0 if a memory allocation error occurs attempting to enlarge the PIC2List.
Copy Code | |
---|---|
P2PktIPTCDataSet* P2LNextIPTCDataSet(const P2LIST * p2l, const P2PktIPTCDataSet* pkt); |
P2LNextIPTCDataSet will return a pointer to the first IPTC DataSet packet following pkt. Pkt must point into the PIC2List to the Type field of an IPTC DataSet packet. No validation is performed. If 0 is returned, then there is no IPTC DataSet packet following the packet in the PIC2List.